import * as api from '../../api/common';
const baseUrl = api.baseUrl + '/';

Page({
  data: {
    avatar: '../../images/avatar.png', // 默认头像路径，这里是示例路径，请替换为实际路径
    nickname: '',
    phone: '',
    birthday: '',
    baseUrl
  },

  onShow() {
    this.getUserInfo();
  },

  async getUserInfo() {
    try {
      const userInfo = tt.getStorageSync('info');
      if (userInfo && userInfo.id) {
        const response = await api.memberInfo(userInfo.id);
        if (response.code !== 0) {
          this.setData({
            avatar: response.data.avatar,
            nickname: response.data.nickname,
            phone: response.data.phone,
            birthday: response.data.birthday
          });
        } else {
          tt.showToast({
            title: response.msg || '获取用户信息失败',
            icon: 'none'
          });
        }
      }
    } catch (error) {
      tt.showToast({
        title: '获取用户信息失败',
        icon: 'none'
      });
      console.error('获取用户信息失败：', error);
    }
  },

  toNickName() {
    tt.navigateTo({
      url: '../editNickName/index',
      success: (res) => {},
      fail: (res) => {},
    });
  },

  toEditPwd() {
    tt.navigateTo({
      url: '../editPwd/index',
      success: (res) => {},
      fail: (res) => {},
    });
  },

  toEditBirthday() {
    tt.navigateTo({
      url: '../editBirthday/index',
      success: (res) => {},
      fail: (res) => {},
    });
  },

  toEditPhone() {
    tt.navigateTo({
      url: '../editPhone/index',
      success: (res) => {},
      fail: (res) => {},
    });
  },

  // 选择图片
  chooseImage() {
    const that = this;
    tt.chooseImage({
      count: 1, // 只允许选择一张图片
      sizeType: ['compressed'], // 可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
      success(res) {
        const tempFilePaths = res.tempFilePaths;
        // 这里可以展示用户选择的图片
        that.setData({
          avatar: tempFilePaths[0]
        });
        // 上传图片
        that.uploadImage(tempFilePaths[0]);
      }, fail(res) {
        console.log(res, 22)
      }
    });
  },
  loginOut() {
    tt.clearStorageSync();
    tt.redirectTo({
      url: '../loginByAccount/index'
    });
  },
  // 上传图片
  uploadImage(filePath) {
    const uploadUrl = api.uploadUrl;
    const that = this;
    tt.uploadFile({
      url: uploadUrl, // 上传服务器的URL
      filePath: filePath,
      name: 'file', // 上传文件的字段名
      success(res) {
        const data = JSON.parse(res.data);
        if (data.code !== 0) {
          // 上传成功后，更新用户头像URL
          that.setData({
            avatar: data.data.path
          });
          // 更新用户信息
          that.updateUserInfo();
        } else {
          tt.showToast({
            title: '上传失败',
            icon: 'none'
          });
        }
      },
      fail(err) {
        tt.showToast({
          title: '上传失败',
          icon: 'none'
        });
        console.error('上传失败：', err);
      }
    });
  },

  // 更新用户信息
  async updateUserInfo() {
    try {
      const userInfo = tt.getStorageSync('info');
      if (userInfo && userInfo.id) {
        const response = await api.updateUserInfo({
          id: userInfo.id,
          avatar: this.data.avatar,
        });
        if (response.code !== 0) {
          tt.showToast({
            title: '用户信息更新成功',
            icon: 'success'
          });
        } else {
          tt.showToast({
            title: response.msg || '用户信息更新失败',
            icon: 'none'
          });
        }
      }
    } catch (error) {
      tt.showToast({
        title: '用户信息更新失败',
        icon: 'none'
      });
      console.error('用户信息更新失败：', error);
    }
  }
});
